home *** CD-ROM | disk | FTP | other *** search
- (*===========================================================================*)
- (* Global variables *)
- (* *)
- (* Copyright 1988, 1989 by H. Roy Engehausen. All rights reserved. *)
- (* This software may be freely distributed and used, but it may not *)
- (* under any circumstances be sold by anyone other than the author. *)
- (* It may be distributed by a commercial company as long as it is *)
- (* for no cost. *)
- (* *)
- (*===========================================================================*)
-
- (*---------------------------------------------------------------------------*)
- (* Initial window definitions -- Note: Max number of windows also array size*)
- (*---------------------------------------------------------------------------*)
-
- CONST
-
- window_max = 3; (* Max number of windows *)
-
- VAR
- current_window : BYTE;
-
- (*---------------------------------------------------------------------------*)
- (* Window Array *)
- (*---------------------------------------------------------------------------*)
-
- TYPE
- window_data_ptr = ^window_data_type;
-
- window_data_area = STRING[80];
-
- window_data_type = RECORD
- next_line : window_data_ptr;
- last_line : window_data_ptr;
- line_color : BYTE;
- this_line : window_data_area;
- END;
-
- VAR
-
- window_array : ARRAY[0..window_max] OF RECORD
- window_act : BOOLEAN; (* Window active *)
- window_cursor : BYTE; (* X coordinate for cursor *)
- window_loc : BYTE; (* Window location *)
- window_scrollable : BOOLEAN; (* Is this window scrolling*)
- window_at_top : BOOLEAN; (* Are we at window top? *)
- window_max_data : WORD; (* Max lines for scroll *)
- window_count : WORD; (* Lines held for scroll *)
- window_data : window_data_ptr; (* Pointer to held data *)
- window_line : window_data_ptr; (* Line at bottom of window*)
- window_last : window_data_ptr; (* Last data line *)
-
- END;
-
- window_location : ARRAY[0..window_segments] OF RECORD
- window_u_y : BYTE; (* Upper row *)
- window_l_y : BYTE; (* Lower row *)
- window_wl : BYTE; (* Window length *)
-
- END;
-
- (*---------------------------------------------------------------------------*)
- (* Info on cursor *)
- (*---------------------------------------------------------------------------*)
-
- window_cursor_orig : WORD;
- window_cursor_block : WORD;
-
- (*---------------------------------------------------------------------------*)
- (* Reset window's Y coordinate *)
- (*---------------------------------------------------------------------------*)
-
- reset_window_y : BYTE;
-